#ifndef STARTWIZARD_H
#define STARTWIZARD_H

//#include <QObject>
#include <QWizard>
#include <QLabel>
#include <QVBoxLayout>
#include <QRadioButton>
#include <QListView>
#include <QStandardItemModel>
#include <QPushButton>

#include "physicist.h"
#include "sample.h"
#include "staticmain.h"
#include "debugger.h"

class startwizard : public QWizard
{
    Q_OBJECT

public:
    explicit startwizard(QWidget *parent = 0);
    explicit startwizard(StaticMain &GlobalSettings, QWidget *parent = 0);
    void execute();

private :

    enum {Page_Intro, Page_Load, Page_Participants,
               Page_Type, Page_Sample, Page_Finalization};

    int nextId() const;
    StaticMain GlobalSettings;

};

class pr_intro : public QWizardPage
{
    Q_OBJECT
public:
    explicit pr_intro(QWidget *parent = 0);
    explicit pr_intro(StaticMain &GlobalSettings, QWidget *parent = 0);
private:
    StaticMain GlobalSettings;
};

class pr_participants : public QWizardPage
{
    Q_OBJECT
public:
    explicit pr_participants(QWidget *parent = 0);
    explicit pr_participants(StaticMain &GlobalSettings, QWidget *parent = 0);

private slots:
    void UnRegisterPhysicists();
    void AddRemovePhysicists();

private:
    QListView *LVregisteredPhysicists;
    QListView *LVparticipants;
    StaticMain GlobalSettings;

    void UpdateLVPhys();


};

class pr_type : public QWizardPage
{
    Q_OBJECT
public:
    explicit pr_type(QWidget *parent = 0);
    explicit pr_type(StaticMain &GlobalSettings, QWidget *parent = 0);
private:
    StaticMain GlobalSettings;
};

class pr_sample : public QWizardPage
{
    Q_OBJECT
public:
    explicit pr_sample(QWidget *parent = 0);
    explicit pr_sample(StaticMain &GlobalSettings, QWidget *parent = 0);
private:
    StaticMain GlobalSettings;
};

class pr_finalize : public QWizardPage
{
    Q_OBJECT
public:
    explicit pr_finalize(QWidget *parent = 0);
    explicit pr_finalize(StaticMain &GlobalSettings, QWidget *parent = 0);
private:
    StaticMain GlobalSettings;
};

class pr_load : public QWizardPage
{
    Q_OBJECT
public:
    explicit pr_load(QWidget *parent = 0);
    explicit pr_load(StaticMain &GlobalSettings, QWidget *parent = 0);
private:
    StaticMain GlobalSettings;
};

#endif // STARTWIZARD_H
